/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.edu.psa.bussines;

import br.edu.psa.model.Pedido;
import br.edu.psa.persistence.PedidoJpaController;
import javax.ejb.Stateless;
import javax.ejb.LocalBean;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

/**
 *
 * @author JOAO
 */
@Stateless
@LocalBean
public class PedidoBean {

    @PersistenceContext
    private EntityManager em;

    public Pedido create(Pedido pedido) {
        if (pedido.getCliente().getId() == null) {
            return null;
        }

        if (pedido.getDataPedido() == null) {
            return null;
        }

        if (pedido.getItemPedido() == null || pedido.getItemPedido().isEmpty()) {
            return null;
        }

        if (pedido.getEnderecoEntrega() == null || pedido.getEnderecoEntrega().equals("")) {
            return null;
        }

        PedidoJpaController controller = new PedidoJpaController(em);
        try {
            controller.create(pedido);
            return pedido;
        } catch (Exception ex) {
            return null;
        }
    }

    public Pedido edit(Pedido pedido) {
        if (pedido.getCliente().getId() == null) {
            return null;
        }

        if (pedido.getDataPedido() == null) {
            return null;
        }

        if (pedido.getItemPedido() == null || pedido.getItemPedido().isEmpty()) {
            return null;
        }

        if (pedido.getEnderecoEntrega() == null || pedido.getEnderecoEntrega().equals("")) {
            return null;
        }

        PedidoJpaController controller = new PedidoJpaController(em);
        try {
            controller.edit(pedido);
            return pedido;
        } catch (Exception ex) {
            return null;
        }
    }

    public boolean remove(Pedido pedido) {
        PedidoJpaController controller = new PedidoJpaController(em);
        try {
            controller.destroy(pedido.getId());
            return true;
        } catch (Exception ex) {
            return false;
        }
    }
}
